#include <bits/stdc++.h>
#define int long long 
using namespace std;

const int maxn = 1e3 + 5;

bool dp[maxn][maxn];
int arr[maxn];

int v, n;


void solve(){
	cin >> v >> n;
	for (int i=1;i<=n;i++) {
		cin >> arr[i];
	}
	dp[0][0] = true;
	for (int i=1;i<=v;i++) {
		dp[i][0] = true;
	}
	for (int i=1;i<=n;i++) {
		for (int j=1;j<=v;j++) {
			// 不装
			dp[i][j] = dp[i-1][j];
			// 装
			if (j >= arr[i]) {
				dp[i][j] = dp[i][j] || dp[i-1][j-arr[i]];
			}
			
//			cout << i << ' ' << j << ' ' << dp[i][j] << '\n';
		}
	}
	
	int mn = v;
	for (int j=1;j<=v;j++) {
		if (dp[n][j]) {
			mn = min(mn, v-j);			
		}
	}
	cout << mn << '\n';
	
}

signed main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	solve();
	return 0;
}
